/**
 * 发布流程
 */
function openDialog() {
    $("#myform").form('clear');//添加之前清空表达信息
    //打开发布流程弹出窗口
    $('#workflowfile').dialog({title: "发布流程",}).dialog('open');
}

//上传流程按钮点击事件
function workflowfile() {
    //文件后缀格式
    if (!/\.(zip)$/.test($("input[name='file']").val())) {
        $.messager.alert('系统提示', "只能上传zip格式的文件！", 'error');
        return false;
    }
    $.messager.confirm('系统提示', "确定发布该流程吗？", function (r) {
        if (r) {
            uploadworkflow();
        }
    });
}

//上传部署文件
function uploadworkflow() {
    $.messager.progress({text: '正在发布流程...',});
    $('#myform').form('submit', {
        url: activiti + "/activitiRepository/repository",
        onSubmit: function (param) {
            //验证表单信息
            return $(this).form('validate');
        }, success: function (data) {
            $.messager.progress('close');
            data = JSON.parse(data);
            if (successcode != data.code) {
                return errorHandle(data);
            }
            $.messager.show({title: '系统提示', msg: data.message});
            $('#workflowfile').dialog('close');//关闭弹出窗口
            $('#dg').datagrid('reload');// 请求刷新数据
        }
    });
}

function change(filename) {
    if (!/\.(zip)$/.test($("input[name='file']").val())) {
        $.messager.alert('系统提示', "只能上传zip格式的文件！", 'error');
        $("#changename").val("");
        $("input[name='file']").val("")
    }
    $("#changename").val(filename);
}

/**
 * 部署信息列表
 */
$(function () {
    $('#dg').datagrid({
        loadMsg: '数据加载中，请稍后...',
        url: activiti + '/activitiRepository/queryDeployment',
        pagination: true,
        //singleSelect: true,//如果为true，则只允许选择一行。
        title: "工作流部署列表",
        pageSize: pageSize,
        pageList: pageList,
        checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中。
        striped: true,//是否显示斑马线效果。
        rownumbers: true,// 显示一个行号列
        fitColumns: false,//真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
        columns: [[
            /*{field: 'itemid', title: 'Order ID', width: 80, checkbox: true},*/
            {field: 'id', title: '流程编号', width: 100, align: 'center'},
            {field: 'name', title: '流程名称', width: 100, align: 'center'},
            {
                field: 'processDefinitionEntity.name', title: '流程定义名称', align: 'center',
                formatter: function (value, row, index) {
                    return row.processDefinitionEntity.name;
                }
            },
            {
                field: 'processDefinitionEntity.key', title: '流程定义的KEY', align: 'center',
                formatter: function (value, row, index) {
                    return row.processDefinitionEntity.key;
                }
            },

            {
                field: 'processDefinitionEntity.version', title: '流程定义的版本', align: 'center',
                formatter: function (value, row, index) {
                    return row.processDefinitionEntity.version;
                }
            },
            {
                field: 'processDefinitionEntity.resourceName', title: '流程定义的规则文件名称', align: 'center',
                formatter: function (value, row, index) {
                    return row.processDefinitionEntity.resourceName;
                }
            },
            {
                field: 'processDefinitionEntity.diagramResourceName', title: '流程定义的规则图片名称', align: 'center',
                formatter: function (value, row, index) {
                    return row.processDefinitionEntity.key;
                }
            },
            {field: 'deploymentTime', title: '发布时间', width: 100, align: 'center'}
        ]], loadFilter: function (data) { //加载后台数据
            if (successcode != data.code) {
                return errorHandle(data);
            }
            return data.data;
        },
        //双击事件
        onDblClickRow: function (rowIndex, rowData) {
            //查看流程详细信息
            $('#queryProcess').dialog({title: "流程详细详细"}).dialog('open');
            $('#digFrom').form('load', rowData.processDefinitionEntity);//查看页面赋值
        }
    }).datagrid("columnMoving");
})


//部署信息的删除方法
function deldeployment() {
    var arr = $('#dg').datagrid('getSelections');
    if (null == arr || arr.length != 1) {
        $.messager.alert('系统提示', "请选择你要删除的数据！", 'warning');
        return;
    }
    $.messager.confirm('系统提示', "确定删除该流程吗？", function (param) {
        if (!param) {
            return;
        }
        $.ajax({
            type: "post",
            url: activiti + "/activitiRepository/delDeployment",
            dataType: "json",
            data: {
                deploymentId: arr[0].id
            },
            success: function (data) {
                if (successcode != data.code) {
                    return errorHandle(data);
                }
                $.messager.show({title: '系统提示', msg: data.message});
                $('#dg').datagrid('reload');// 请求刷新数据
            }
        })

    });
}

//查看流程图的方法
function openWorkflowImg() {
    var arr = $('#dg').datagrid('getSelections');
    if (null == arr || arr.length != 1) {
        $.messager.alert('系统提示', "请选择一条数据！", 'warning');
        return;
    }
    var content = '<iframe src="' + activiti + "/activitiRepository/viewImage?deploymentId=" + arr[0].id + "&imageName=" + arr[0].processDefinitionEntity.diagramResourceName + '" width="100%" height="99%" frameborder="0" scrolling="no"></iframe>';
    $('#openWorkflowImg').dialog({
        title: "流程图",
        content: content,
    }).dialog('open');
}
